草庐IT

c++ - Visual Studio 和 Boost::Test

全部标签

c# - 串行端口重定向或拆分

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我正在寻找有关如何进行串行端口重定向或端口拆分的书籍和/或代码示例。我编写了很多com端口应用程序,并想编写一个监视器应用程序,使我能够监视应用程序和设备之间的串行端口。所以我希望能够将串行端口重定向到另一个端口,以便我可以监控端口之间的数据流动。我理解在某些情况下这必须在内核级别完成。(在USB情况下)我在C#中使用system.IO.Ports编写了监控应用程序。

c++ - 在 C 或 C++ 中从 LaTeX 制作 PNG|jpeg

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我正在寻找一个C或C++库(或更聪明的解决方案),它可以从LaTeX代码生成图像文件(PNG|jpeg)。使用包是先决条件。现在我正在考虑将一个.tex文件编译成一个.dvi并使用dvipng来获得一个.PNG。还有可能将.tex文件编译为.ps文件,然后通过pstopng或pstoedit等外部实用程序将其转换为.PNG.但这些解决方案很麻烦,而且并不总是可移植的。

c++ - 在 C 中声明 == 在 C++ 中定义?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:Whatisthedifferencebetweenadefinitionandadeclaration?在C中声明等于在C++中定义是否正确?inta;/*todeclarevariabelainC*/intb=2;/*todeclareandinitializeinC*/intc;//todefineinC++intd=4;//todefineandinitializeinC++

c++ - 使用 Boost 在共享内存中创建循环缓冲区时出现问题

我正在尝试使用Boostcircular_buffer和进程间库在共享内存中创建一个循环缓冲区。我编译并运行了Interprocessdocumentation中给出的示例用于在共享内存中毫无问题地创建vector。但是,当我修改它以将Boostcircular_buffer用作:intmain(intargc,char*argv[]){managed_shared_memorysegment(create_only,"MySharedMemory",65536);constShmemAllocatoralloc_inst(segment.get_segment_manager());

c++ - 在 Sunos 上编译 boost

我刚刚开始使用boost库。对于我们的一个项目,我想使用sun编译器在SunOS上编译Boost1.39.0。但是,如果我使用http://www.boost.org/doc/libs/1_39_0/more/getting_started/unix-variants.html中提到的步骤编译它,并非所有目标都已编译。有人可以提供有助于在Sun操作系统上编译它的资源吗?是否有任何单独的指令集用于在SunOS上进行编译 最佳答案 SunOS编译器因没有一致的库和编译而臭名昭著。但我们确实有至少一名使用该平台的测试人员(参见Sandia

c++ - 替换 msvc 上的 vsscanf

我在将代码库从linux(gcc)移植到windows(msvc)时遇到了问题。似乎C99函数vsscanf不可用并且没有明显的替代品。我读过有关使用内部函数_input_l并静态链接到crt运行时的解决方案,但不幸的是我无法静态链接,因为它会混淆应用程序加载的所有插件(作为dll)。那么是否有任何替代品或为vsscanf编写包装器的方法?2016-02-24更新:当第一次询问时没有本地替代品,但从那时起MSVC已经实现了对此的支持以及更多。VS2013并稍后实现vsscanf和friend。C++11也包括支持。 最佳答案 一个应

c# - 插入比特流

我正在寻找一种有效地将位插入位流并使其“溢出”并用0填充的方法。因此,例如,如果您有一个包含2个字节的字节数组:231和109(1110011101101101),并且执行了BitInsert(byteArray,4,00),它将在位偏移量4处插入两位,使得111000011101101101000000(225,219,24).即使该方法只允许1位插入也可以,例如BitInsert(byteArray,4,true)或BitInsert(byteArray,4,false),但该方法必须独立于比特流长度(流可能跨越数百个字节)。我有一种方法可以做到这一点,但它必须一点一点地使用位掩码

c++ - 从 C 代码中调用 R 脚本

有没有办法在C代码中调用R脚本?我确实找到了C的RApi(“编写R扩展”手册的第6章),但据我所知,这“只”允许调用R的C实现。当然我可以通过shell调用R-Script,但这对我来说不是解决方案,因为这不允许正确传递数据(如果我不知道将数据写入Csv文件或类似文件,至少不允许)。是否有预先使用R到C解析器的简单方法? 最佳答案 您有什么理由不想嵌入它吗?这包含在这个问题中:RfromC—SimplestPossibleHelloworld… 关于c++-从C代码中调用R脚本,我们在S

c++ - 我怎么知道boost线程是否完成?

我正在使用boost::thread来处理队列中的消息。当第一条消息到来时,我启动一个消息处理线程。当第二条消息到来时,我检查消息处理线程是否完成。如果完成了我会开始一个新的如果没有完成,我什么都不做。我怎么知道线程是否完成了?我尝试使用joinable()但它不起作用,因为当线程完成后,它仍然可以连接。我也试过一次性打断进程,在我的线程末尾添加一个中断点,但是没有用。谢谢编辑:我想让我的线程休眠一段不确定的时间,并在触发信号时唤醒。这样做的意思是boost::condition_variable 最佳答案 据我所知,您应该使用jo

c++ - 使用 boost::random 从要删除元素的 std::list 中进行选择

查看此relatedquestion更通用地使用BoostRandom库。我的问题涉及从std::list中选择一个随机元素,执行一些操作,这可能包括从列表中删除元素,然后选择另一个随机元素,直到满足某些条件满意。boost代码和for循环大致如下所示://createandinsertelementsintoliststd::listmyList;//[...]//selectuniformlyfromlistindicesboost::uniform_intindices(0,myList.size()-1);boost::variate_generator>selectIndex